home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 8714 < prev    next >
Encoding:
Text File  |  1996-08-05  |  1.6 KB  |  61 lines

  1. Path: news.halcyon.com!usenet
  2. From: george potts <solvris@halcyon.com>
  3. Newsgroups: comp.lang.c
  4. Subject: Re: revised code of calling a function twice from printf
  5. Date: Tue, 05 Mar 1996 16:46:28 -0800
  6. Organization: Solveris Inc
  7. Message-ID: <313CE064.6E6C@halcyon.com>
  8. References: <4hfs54$k4e@newsbf02.news.aol.com>
  9. NNTP-Posting-Host: blv-pm14-ip6.halcyon.com
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.0 (WinNT; I)
  14.  
  15. Razine wrote:
  16. > Here is the actual code , modified with everyone's suggestions.  However
  17. > there is still a bug in here somewhere.  Can anyone please explain what is
  18. > wrong with this.
  19. > It returns
  20. > [1] NONE       [2] NE
  21. > I would like it to return
  22. > [1] NONE       [2] Asprin
  23. > Thank you very much for your help.  it is greatly appreciated.
  24. > #include <stdio.h>
  25. > #include <string.h>
  26. > char *display_drug_type(int drug_index);
  27. > int drug_inventory[5]={0,1,0,0,0};
  28. > int main() {
  29. >     printf("[1] %s             [2] %s
  30. > \n",display_drug_type(0),display_drug_type(1));
  31. > return 0;
  32. >         }
  33. > char *display_drug_type(int drug_index) {
  34. >    char drug_type[81]="\0";
  35. >    switch(drug_inventory[drug_index]) {
  36. >      case 0 : strcpy(drug_type,"NONE"); break;
  37. >      case 1 : strcpy(drug_type,"Asprin"); break;
  38. >      default : printf("Error in Display_drug_inventory");
  39. >                                                 }
  40. >    return drug_type;
  41. > }
  42.  
  43. you're returning a pointer to a character array that goes out of
  44. scope after the return. the memory could then be used for 
  45. something else before being displayed. move your drug_type 
  46. array.
  47.